package cn.itcast.tlias.com.tliaswork.utils;
import io.jsonwebtoken.*;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.Map;

//JWT工具类
public class JWTUtils {
    //密钥
    private static final String SALT = "itheima";
    //过期时间
    private static final Integer EXPIRE_TIME = 12* 60* 60 *1000 ; //12小时
    //生成token
    public static String getToken(Map<String,Object> claims){
        String token = Jwts.builder()
                //设置开始时间
                .setIssuedAt(new Date(System.currentTimeMillis()))
                //设置有效期
                .setExpiration(new Date(System.currentTimeMillis() + EXPIRE_TIME))
                //设置用户声明
                .setClaims(claims)
                //签名
                .signWith(SignatureAlgorithm.HS256, SALT)
                .compact();
        System.out.println(token);
        return token;
    }
    //验证token
    public static boolean isExpire(String token){
        if(StringUtils.isEmpty(token)){
            return true;
        }
        try {
            Jwts.parser().setSigningKey(SALT).parseClaimsJws(token);
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }


}